package com.ruoyi.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.domain.TestKnowledge;
import com.ruoyi.domain.vo.TestKnowledgeVo;
import com.ruoyi.domain.vo.TestSubjectGradeVo;
import io.swagger.annotations.ApiOperation;

import java.util.List;

/**
 * 考试平台知识点Service接口
 *
 */
public interface ITestKnowledgeService extends IService<TestKnowledge>
{
    /**
     * 查询考试平台知识点
     *
     * @param knowlId 考试平台知识点主键
     * @return 考试平台知识点
     */
    public TestKnowledge selectTestKnowledgeByKnowlId(Long knowlId);

    /**
     * 查询考试平台知识点列表
     *
     * @param grade 年级
     * @return 考试平台知识点集合
     */
    public List<TestSubjectGradeVo> selectTestKnowledgeList(String grade);

    /**
     * 查询考试平台知识点列表  用于判断新增知识点是否重复
     *
     * @param testKnowledge 考试平台知识点
     * @return 考试平台知识点集合
     */
    public List<TestSubjectGradeVo> selectTestKnowledgeListByClass(TestKnowledge testKnowledge);

    /**
     * 新增考试平台知识点
     *
     * @param testKnowledge 考试平台知识点
     * @return 结果
     */
    public int insertTestKnowledge(TestKnowledge testKnowledge);

    /**
     * 修改考试平台知识点
     *
     * @param testKnowledge 考试平台知识点
     * @return 结果
     */
    public int updateTestKnowledge(TestKnowledge testKnowledge);

    /**
     * 查询考试平台知识点子节点
     *
     * @param knowlId 考试平台知识点主键
     * @return 考试平台知识点
     */
    public List<TestKnowledge> selectTestKnowledgeChildId(Long knowlId);

    //查询知识点树
    /**
     * 查询所有考试平台知识点
     */
    @ApiOperation("查询所有考试平台知识点")
    List<TestKnowledgeVo> listWithTree(String grade,String subjectName);

}
